Field of the Invention
The invention relates to a home location register (HLR) for a digital mobile telecommunications system. Traditionally, the HLR has had a distributed configuration located at the mobile switching centres. However, as systems increased in size with increasing numbers of subscribers, the HLR became complex and, at times, unworkable.
There has therefore been a trend towards separating the HLR from the mobile switching centres and providing a more centralised configuration. An example is that described in British Patent Specification No. GB 2269962. This HLR comprises a number of access processors connected to a bus. Each access processor stores all permanent subscriber data and a subset of the temporary subscriber data such as visitor location data. The HLR includes a link device which allocates queries by polling and possibly re-direction of access requests over the bus.
A problem with such an arrangement is that the databases are dedicated to particular access processors and therefore linear growth in subscriber numbers is directly linked to access processors. This can lead to lack of fault tolerance, to complexity, and to the need for additional control functions. It is also expensive.
A further problem is that the polling and re-direction signals transmitted from the link device cause a large degree of bus traffic and possibly slower response times.
There is therefore a need for a HLR which is xe2x80x9cfuture proofxe2x80x9d whereby it may be easily modified to accommodate increasing numbers of subscribers in a simple and flexible manner. Further, there is a need for a HLR which is more fault tolerant, and for a HLR which is simpler to maintain and update.
According to the invention, there is provided a mobile telecommunications network home location register comprising:
a high speed bus;
at least two database servers, each directly connected to a database of subscriber data, and connected to the bus;
at least one network access processor connected to the bus and comprising means for accessing subscriber data on the memory databases via the bus and the database servers;
a maintenance processor having operator interfaces, being connected to the bus, and comprising means for accessing subscriber data on the memory databases via the bus and the database servers; and
a storage database.
This arrangement provides for simple upgrading and also simple fault tracing and maintenance generally. The access processor and database capacities may be independently increased. Further, there is universal access to subscriber data through a single channel for each database, namely the database server. This provides for effective control of subscriber data access.
In one embodiment, the network access processor comprises a directory service indicating location of subscriber data on the memory databases. This allows fast access and minimises bus traffic by avoiding the need for network access processor polling. Preferably, the maintenance processor comprises means for updating the directory service. This is a simple method of achieving consistency across the HLR.
In one embodiment, each item of subscriber data is stored in an active location on one memory database and also in a shadow location on a different memory database. Preferably, the directory service of the network access processor identifies the database server having access to the memory database storing the active locations for each item of subscriber data. In another embodiment, the database servers each comprise means for dynamically updating the shadow locations upon updating the associated active locations. These features provide for simple maintenance of shadow databases with little bus traffic.
Preferably, the database server comprises means for updating the shadow locations according to one of a plurality of pre-stored schemes according to desired performance and security levels.
In one embodiment, the network access processor comprises means for performing a transaction-oriented commit when updating a memory database whereby an update is not committed by the database server until the network access processor ends the transaction.
In another embodiment, the network access processor comprises means for uploading bus status and error signals to the maintenance processor.
In a further embodiment, the maintenance processor comprises means for partitioning the subscriber data between memory databases by control of the database servers.
In another embodiment, the maintenance processor is directly connected to the storage database and comprises means for accessing the memory databases via the database servers to update the storage database. For redundancy, the maintenance processor may comprise means for replicating the subscriber data in the storage database.
In one embodiment, the home location register further comprises an auxiliary processor connected to the bus and comprising means for accessing subscriber data in the memory databases via the bus and the database servers.
In one embodiment, each database server comprises a core connected to a database handler, in turn connected to the memory database and to a plurality of external handlers connected to the bus.
Preferably, the core comprises a plurality of finite state machine dialogue handlers, each for performing core operations of a single transaction at one time.
In another embodiment, an external handler comprises means for activating a dialogue handler upon receipt of a transaction request, and means for identifying by way of a parameter value the transaction and the dialogue handler.
Preferably, the external handler, the dialogue handler and the database handler comprise means for identifying subscriber data retrieved in the transaction as an object having an identifier and a server memory location.
In one embodiment, the dialogue handler comprises means for identifying the external handler for a particular transaction by way of a temporary identifier.
In a further embodiment, each database server comprises means for identifying dirty subscriber data items, namely those which have not been updated to the storage database. Preferably, each database server determines if any item has been updated to the storage database if a request is received from the maintenance processor for a subsequent item to be updated. Preferably, the dirty items are identified by a flag within each item.
In the latter embodiment, each database server preferably comprises means for immediately changing the flag to a clean status after transmitting the item to the maintenance processor to update the storage database, and for setting it again to a dirty status if a negative response is received from the maintenance processor.